Some companies and organizations employ data centers to address significant user demand for online content and services. A data center is a facility used to house computer systems and associated components, such as telecommunications and storage systems. A data center may include redundant or backup power supplies, redundant data communications connections, environmental controls (e.g., air conditioning, fire suppression), and various security devices. A data center may contain multiple computing devices hosting services that are client-facing (or that are used to respond directly to client requests) and services that are internal-facing (or that are used to respond to requests from components within the data center itself or from another affiliated data center).
Some companies employ multiple data centers to serve online content and services to end-users. However, different groups of data centers may operate under different paradigms. For example, in one paradigm, different data centers in a group host different content and/or services. Thus, for example, a piece of content is assigned to a first data center in a group and, while external requests for that piece of content may be handled by all data centers in the group, each data center forwards the external requests to the first data center.
In a different paradigm, multiple data centers in a group host the same content and/or services. Thus, all data centers have local access to certain data and services and, accordingly, may individually handle external requests without relying on communicating with other data centers in the group. In this way, data centers may be distributed globally, which results in lower latency for end-users of a data center.
Even in this latter paradigm, however, there may be content that only a single data center in a group should access even though multiple data centers in the group may have access. In this way, some content has a “home” data center. A reason for restricting direct access to a piece of content to a single data center may be due to the nature of the content. In some situations, a data system should not allow reads to certain content until all prior updates to the certain content have been persistently stored. A reason for copying content across multiple data centers even though the content has a home data center may be in case the home data center becomes unavailable, such as in response to an unplanned failure or in response to a planned shutdown, which may be performed for various maintenance reasons. Another data center in the group can take over as the “home” data center for that content.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.